package com.imooc.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.service.Contact;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;

/**
 * @author MoodA
 */
@Configuration
@EnableSwagger2
public class Swagger {

//    http://localhost:8088/swagger-ui.html     原路径
//    http://localhost:8088/doc.html     原路径

  // 配置swagger3核心配置 docket
  @Bean
  public Docket createRestApi() {
    // 指定api类型为swagger3
    return new Docket(DocumentationType.OAS_30)
        // 用于定义api文档汇总信息
        .apiInfo(apiInfo())
        .select()
        // 指定controller包
        .apis(RequestHandlerSelectors.basePackage("com.imooc.controller"))
        // 所有controller
        .paths(PathSelectors.any())
        .build();
  }

  private ApiInfo apiInfo() {
    return new ApiInfoBuilder()
        // 文档页标题
        .title("天天吃货 电商平台接口api")
        // 联系人信息,详细信息
        .contact(new Contact("imooc", "https://www.imooc.com", "abc@imooc.com"))
        .description("专为天天吃货提供的api文档")
        // 文档版本号
        .version("1.0.1")
        // 网站地址
        .termsOfServiceUrl("https://www.imooc.com")
        .build();
  }
}
